Using RapidSpell With 3rd Party Controls

RapidSpell Desktop supports 3rd party text box controls, such as "TX Text Control" by The Imaging Source, EditBox by Janus and DevExpress grids and editors. "Adapter" controls are included for some 3rd party vendors, and KB articles are also provided. To facilitate functionality with other 3rd party components an interface is defined, ISpellCheckableTextComponent which requires properties to exist or be mapped to, these properties relate to the text in the text control and the user's selection, please see the API docs for more information.

TX Text Control

To use RapidSpell with TX Text Control it is necessary to reference the Keyoti.RapidSpell.NET2.TXSupportv1X.DLL instead of Keyoti.RapidSpell.NET2 .DLL.

For TX v15.1 and down - please see an in depth article on FULL integration with TX we have prepared:

http://keyoti.com/kb/Default.aspx?ToDo=view&questId=97&catId=44

For TX v16 and up - please see this page

Also, the included Visual Studio demos include TX specific examples.

Other Controls

To use RapidSpell Desktop with an indirectly supported 3rd party control should be a simple process, it is only necessary to extend (inherit from) the 3rd party control class and implement the ISpellCheckableTextComponent interface.

For example, if the 3rd party control's class (the class that actually sits on the Windows form) is named "3rdPartyControl", then a new class could be written called "SpellCheckableControl" which would implement the ISpellCheckableTextComponent interface, see diagram above. In code this could be as simple as

Code Example C# 3rd Party Control

using Keyoti.RapidSpell;
public class SpellCheckableControl : 3rdPartyControl,ISpellCheckableTextComponent
{
        public RSTextControl() : base() {}

        .........
        .........
        any required method implementations
        .........
}

Code Example VB.NET 3rd Party Control

Imports Keyoti.RapidSpell
Public Class SpellCheckableControl
        Inherits 3rdPartyControl
        Implements ISpellCheckableTextComponent

    Public Sub New()
        MyBase.New()
    End Sub

            .........
            .........
            any required method implementations
            .........

End Class

In the above example the actual method implementations were left out because they are specific to the 3rd party control being used, in fact if the 3rd party control extends TextBoxBase or shares the same interface as TextBoxBase there is no need to implement any methods.